This invention relates in general to the field of wireless communication networks and in particular to a method for continuous load optimization of wireless communication networks by making use of statistical data about both the communication medium characteristics and the characteristics of the messages that applications desire to send over the medium.
Prior art has established the use of protocols to control the transfer of data over a communication medium. The protocols define the required characteristics of the data and changes to the data that occur during the communication process. The use of protocols allows interoperability among diverse systems by adherence to these recognized Standards. An architecture comprising a hierarchy of related protocol standards is often envisioned as a layered protocol stack as shown in FIG. 1. The application layer 10 is the generator of the data which a user desires to transmit over the network to a user at another network node. The application may receive inputs in the form of audio or video signals, text, or digital data, and then converts these inputs into packets of digital data in a form acceptable by the next layer and as defined by the application layer protocol. The transport layer 12 and the network layer 14 usually conform to widely known standardized protocols, with the Standard Internet Transmission Control Protocol (TCP) and the Standard Internet Protocol (IP) being examples used in wireline networks. The transport layer 12 is often responsible for dividing messages into segments compatible with the network, and also performs functions associated with reliable delivery of data, including packet retransmission requests. The network layer 14 performs functions that control the passing of data through the network, such as routing. The datalink layer 16 establishes characteristics of the various nodes which make up the network and the communication medium that interconnects them. This layer synchronizes transmission, and is often responsible for error-control on a frame basis and for node address handling. For example, when the destination address of a frame matches the address of the current node, the datalink layer 16 forwards the frame up the protocol stack. The physical layer 18 protocol defines the required characteristics of the hardware used at the various nodes in the network to implement the protocols. Different physical layer protocols are used for different media, such as fiber, coaxial cable, or wireless. The physical layer 18 describes how data bits are encoded into the various types of media signals and further describes the channel interface.
The prior art architecture for the design of a network requires that each layer of the protocol stack only communicate with the adjacent layers in the stack, thus forming an open loop system. Only limited information about the communications characteristics of the lower layers are passed to the higher layers. In this open loop architecture, the application layer may blindly construct packets of data for transmission without regard to the likelihood that these packets will be received in a timely and reliable manner at the destination node. This architecture works in an acceptable manner when the datalink medium is based on wireline technology, and increases in the number of messages that must be passed over the network can be accommodated by adding more wireline channels.
When the prior art layered protocol stack architecture is applied to wireless communication networks with the inherent limitations of finite datalink bandwidth, channel fading, interference and background noise, then various means must be used to limit the number of inputs to the system to that which can be conveyed across the network with reasonable worse case network access delay. In a wireless application incorporating a high demand, limited bandwidth network, the use of traditional layered, open loop, architectures can lead to unresolved growth in message latency and, in the extreme case, network collapse. One approach is to establish message priority schemes where different users have different levels of priority. When a high priority user wishes to use the network, lower priority users are directed to vacate the network. Message priority is added as a preamble to each high priority message.
Another variation of the prior art architecture for wireless communications is similar to that used in wireline systems and is based on obtaining sufficient datalink bandwidth to assure that the worse case network access delay is never exceeded for all users assigned to the network. An alternative is to force all users to produce messages at a fixed rate slower than that which would result in the worse case maximum network access delay. These approaches are very inefficient and waste some of the allocated bandwidth since the worse case network access delay rarely occurs. In order to avoid unstable conditions and improve performance over prior art approaches, network performance information must be provided to other layers in order to optimize, or tune, network performance. Statistical data, or metrics, can be passed up and down the existing layered protocol stack architecture; however, this introduces significant delay and processing due to encapsulation and decapsulation of messages as they are passed from layer to layer, and further requires undesirable modifications to intervening layer protocol structures.
Hence, what is needed is an improved method of feedback and statistical measurement mechanisms that allow, in an asynchronous manner, various layers of the protocol stack to make informed decisions regarding the transfer of data to make optimum use of the network resources. Also needed are noninvasive methods and apparatus that prevent unrestrained growth in channel access delay, and preserve the quality of service (QOS) provided to multiple applications. What is further needed are methods either for centralized or distributed network control of protocol layer parameters. Also, what is needed are methods and apparatus to provide network performance information to multiple applications while minimizing or not requiring modifications to intervening layer protocols; such as, for example, the transport and network layers which are well-defined commercial protocols. What is additionally needed are methods and apparatus for interfacing to high and low-level protocol layers; for example, the application layer and the dataLink layer, in order to extract and forward network performance information in real time.